package cn.iocoder.yudao.module.biz.controller.admin.htPlan.vo;

import cn.iocoder.yudao.module.biz.dal.dataobject.htPlanDetail.HtPlanDetailDO;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.*;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ApiModel("管理后台 - 隐患排查计划创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class HtPlanCreateReqVO extends HtPlanBaseVO {

    @ApiModelProperty(value = "计划名称")
    private String planName;

    @ApiModelProperty(value = "隐患类别 0:生产现场类，1：基础管理类")
    private String htCategory;

    @ApiModelProperty(value = "排查周期 1:1日一次，2：一周一次，3：一月一次，4:6月一次，5:12月一次")
    private String checkPeriod;

    @ApiModelProperty(value = "组织级别，1：岗位级，2:班组级，3：部门级...")
    private String orgLevel;

    @ApiModelProperty(value = "开始时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date startDate;

    @ApiModelProperty(value = "结束时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date endDate;

    @ApiModelProperty(value = "排查类型")
    private String checkType;

    @ApiModelProperty(value = "排查属性")
    private String checkProperty;

    @ApiModelProperty(value = "排查人")
    private Long checkPeoId;

    @ApiModelProperty(value = "计划状态 0：待执行，1：执行中，2：已执行，3：已终止")
    private String planState;

    ///----隐患计划详情-------
    List<HtPlanDetailDO> planDetail=new ArrayList<>();
}
